﻿using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace facebook.businuss.netcore.sdk.Model
{
    public class AdsInsights
    {
        [JsonProperty(PropertyName = "account_currency")]
        public String mAccountCurrency { get; set; }
        [JsonProperty(PropertyName = "account_id")]
        public String mAccountId { get; set; }
        [JsonProperty(PropertyName = "account_name")]
        public String mAccountName { get; set; }
        [JsonProperty(PropertyName = "action_values")]
        public List<AdsActionStats> mActionValues { get; set; }
        [JsonProperty(PropertyName = "actions")]
        public List<AdsActionStats> mActions { get; set; }
        [JsonProperty(PropertyName = "ad_bid_type")]
        public String mAdBidType { get; set; }
        [JsonProperty(PropertyName = "ad_bid_value")]
        public String mAdBidValue { get; set; }
        [JsonProperty(PropertyName = "ad_click_actions")]
        public List<AdsActionStats> mAdClickActions { get; set; }
        [JsonProperty(PropertyName = "ad_delivery")]
        public String mAdDelivery { get; set; }
        [JsonProperty(PropertyName = "ad_id")]
        public String mAdId { get; set; }
        [JsonProperty(PropertyName = "ad_impression_actions")]
        public List<AdsActionStats> mAdImpressionActions { get; set; }
        [JsonProperty(PropertyName = "ad_name")]
        public String mAdName { get; set; }
        [JsonProperty(PropertyName = "adset_bid_type")]
        public String mAdsetBidType { get; set; }
        [JsonProperty(PropertyName = "adset_bid_value")]
        public String mAdsetBidValue { get; set; }
        [JsonProperty(PropertyName = "adset_budget_type")]
        public String mAdsetBudgetType { get; set; }
        [JsonProperty(PropertyName = "adset_budget_value")]
        public String mAdsetBudgetValue { get; set; }
        [JsonProperty(PropertyName = "adset_delivery")]
        public String mAdsetDelivery { get; set; }
        [JsonProperty(PropertyName = "adset_end")]
        public String mAdsetEnd { get; set; }
        [JsonProperty(PropertyName = "adset_id")]
        public String mAdsetId { get; set; }
        [JsonProperty(PropertyName = "adset_name")]
        public String mAdsetName { get; set; }
        [JsonProperty(PropertyName = "adset_start")]
        public String mAdsetStart { get; set; }
        [JsonProperty(PropertyName = "age_targeting")]
        public String mAgeTargeting { get; set; }
        [JsonProperty(PropertyName = "attribution_setting")]
        public String mAttributionSetting { get; set; }
        [JsonProperty(PropertyName = "auction_bid")]
        public String mAuctionBid { get; set; }
        [JsonProperty(PropertyName = "auction_competitiveness")]
        public String mAuctionCompetitiveness { get; set; }
        [JsonProperty(PropertyName = "auction_max_competitor_bid")]
        public String mAuctionMaxCompetitorBid { get; set; }
        [JsonProperty(PropertyName = "buying_type")]
        public String mBuyingType { get; set; }
        [JsonProperty(PropertyName = "campaign_id")]
        public String mCampaignId { get; set; }
        [JsonProperty(PropertyName = "campaign_name")]
        public String mCampaignName { get; set; }
        [JsonProperty(PropertyName = "canvas_avg_view_percent")]
        public String mCanvasAvgViewPercent { get; set; }
        [JsonProperty(PropertyName = "canvas_avg_view_time")]
        public String mCanvasAvgViewTime { get; set; }
        [JsonProperty(PropertyName = "catalog_segment_actions")]
        public List<AdsActionStats> mCatalogSegmentActions { get; set; }
        [JsonProperty(PropertyName = "catalog_segment_value")]
        public List<AdsActionStats> mCatalogSegmentValue { get; set; }
        [JsonProperty(PropertyName = "catalog_segment_value_mobile_purchase_roas")]
        public List<AdsActionStats> mCatalogSegmentValueMobilePurchaseRoas { get; set; }
        [JsonProperty(PropertyName = "catalog_segment_value_omni_purchase_roas")]
        public List<AdsActionStats> mCatalogSegmentValueOmniPurchaseRoas { get; set; }
        [JsonProperty(PropertyName = "catalog_segment_value_website_purchase_roas")]
        public List<AdsActionStats> mCatalogSegmentValueWebsitePurchaseRoas { get; set; }
        [JsonProperty(PropertyName = "clicks")]
        public String mClicks { get; set; }
        [JsonProperty(PropertyName = "conversion_rate_ranking")]
        public String mConversionRateRanking { get; set; }
        [JsonProperty(PropertyName = "conversion_values")]
        public List<AdsActionStats> mConversionValues { get; set; }
        [JsonProperty(PropertyName = "conversions")]
        public List<AdsActionStats> mConversions { get; set; }
        [JsonProperty(PropertyName = "converted_product_quantity")]
        public List<AdsActionStats> mConvertedProductQuantity { get; set; }
        [JsonProperty(PropertyName = "converted_product_value")]
        public List<AdsActionStats> mConvertedProductValue { get; set; }
        [JsonProperty(PropertyName = "cost_per_15_sec_video_view")]
        public List<AdsActionStats> mCostPer15SecVideoView { get; set; }
        [JsonProperty(PropertyName = "cost_per_2_sec_continuous_video_view")]
        public List<AdsActionStats> mCostPer2SecContinuousVideoView { get; set; }
        [JsonProperty(PropertyName = "cost_per_action_type")]
        public List<AdsActionStats> mCostPerActionType { get; set; }
        [JsonProperty(PropertyName = "cost_per_ad_click")]
        public List<AdsActionStats> mCostPerAdClick { get; set; }
        [JsonProperty(PropertyName = "cost_per_conversion")]
        public List<AdsActionStats> mCostPerConversion { get; set; }
        [JsonProperty(PropertyName = "cost_per_dda_countby_convs")]
        public String mCostPerDdaCountbyConvs { get; set; }
        [JsonProperty(PropertyName = "cost_per_estimated_ad_recallers")]
        public String mCostPerEstimatedAdRecallers { get; set; }
        [JsonProperty(PropertyName = "cost_per_inline_link_click")]
        public String mCostPerInlineLinkClick { get; set; }
        [JsonProperty(PropertyName = "cost_per_inline_post_engagement")]
        public String mCostPerInlinePostEngagement { get; set; }
        [JsonProperty(PropertyName = "cost_per_one_thousand_ad_impression")]
        public List<AdsActionStats> mCostPerOneThousandAdImpression { get; set; }
        [JsonProperty(PropertyName = "cost_per_outbound_click")]
        public List<AdsActionStats> mCostPerOutboundClick { get; set; }
        [JsonProperty(PropertyName = "cost_per_thruplay")]
        public List<AdsActionStats> mCostPerThruplay { get; set; }
        [JsonProperty(PropertyName = "cost_per_unique_action_type")]
        public List<AdsActionStats> mCostPerUniqueActionType { get; set; }
        [JsonProperty(PropertyName = "cost_per_unique_click")]
        public String mCostPerUniqueClick { get; set; }
        [JsonProperty(PropertyName = "cost_per_unique_conversion")]
        public List<AdsActionStats> mCostPerUniqueConversion { get; set; }
        [JsonProperty(PropertyName = "cost_per_unique_inline_link_click")]
        public String mCostPerUniqueInlineLinkClick { get; set; }
        [JsonProperty(PropertyName = "cost_per_unique_outbound_click")]
        public List<AdsActionStats> mCostPerUniqueOutboundClick { get; set; }
        [JsonProperty(PropertyName = "cpc")]
        public String mCpc { get; set; }
        [JsonProperty(PropertyName = "cpm")]
        public String mCpm { get; set; }
        [JsonProperty(PropertyName = "cpp")]
        public String mCpp { get; set; }
        [JsonProperty(PropertyName = "created_time")]
        public String mCreatedTime { get; set; }
        [JsonProperty(PropertyName = "ctr")]
        public String mCtr { get; set; }
        [JsonProperty(PropertyName = "date_start")]
        public String mDateStart { get; set; }
        [JsonProperty(PropertyName = "date_stop")]
        public String mDateStop { get; set; }
        [JsonProperty(PropertyName = "dda_countby_convs")]
        public String mDdaCountbyConvs { get; set; }
        [JsonProperty(PropertyName = "dda_results")]
        public List<Object> mDdaResults { get; set; }
        [JsonProperty(PropertyName = "engagement_rate_ranking")]
        public String mEngagementRateRanking { get; set; }
        [JsonProperty(PropertyName = "estimated_ad_recall_rate")]
        public String mEstimatedAdRecallRate { get; set; }
        [JsonProperty(PropertyName = "estimated_ad_recall_rate_lower_bound")]
        public String mEstimatedAdRecallRateLowerBound { get; set; }
        [JsonProperty(PropertyName = "estimated_ad_recall_rate_upper_bound")]
        public String mEstimatedAdRecallRateUpperBound { get; set; }
        [JsonProperty(PropertyName = "estimated_ad_recallers")]
        public String mEstimatedAdRecallers { get; set; }
        [JsonProperty(PropertyName = "estimated_ad_recallers_lower_bound")]
        public String mEstimatedAdRecallersLowerBound { get; set; }
        [JsonProperty(PropertyName = "estimated_ad_recallers_upper_bound")]
        public String mEstimatedAdRecallersUpperBound { get; set; }
        [JsonProperty(PropertyName = "frequency")]
        public String mFrequency { get; set; }
        [JsonProperty(PropertyName = "full_view_impressions")]
        public String mFullViewImpressions { get; set; }
        [JsonProperty(PropertyName = "full_view_reach")]
        public String mFullViewReach { get; set; }
        [JsonProperty(PropertyName = "gender_targeting")]
        public String mGenderTargeting { get; set; }
        [JsonProperty(PropertyName = "impressions")]
        public String mImpressions { get; set; }
        [JsonProperty(PropertyName = "inline_link_click_ctr")]
        public String mInlineLinkClickCtr { get; set; }
        [JsonProperty(PropertyName = "inline_link_clicks")]
        public String mInlineLinkClicks { get; set; }
        [JsonProperty(PropertyName = "inline_post_engagement")]
        public String mInlinePostEngagement { get; set; }
        [JsonProperty(PropertyName = "instant_experience_clicks_to_open")]
        public String mInstantExperienceClicksToOpen { get; set; }
        [JsonProperty(PropertyName = "instant_experience_clicks_to_start")]
        public String mInstantExperienceClicksToStart { get; set; }
        [JsonProperty(PropertyName = "instant_experience_outbound_clicks")]
        public List<AdsActionStats> mInstantExperienceOutboundClicks { get; set; }
        [JsonProperty(PropertyName = "interactive_component_tap")]
        public List<AdsActionStats> mInteractiveComponentTap { get; set; }
        [JsonProperty(PropertyName = "labels")]
        public String mLabels { get; set; }
        [JsonProperty(PropertyName = "location")]
        public String mLocation { get; set; }
        [JsonProperty(PropertyName = "mobile_app_purchase_roas")]
        public List<AdsActionStats> mMobileAppPurchaseRoas { get; set; }
        [JsonProperty(PropertyName = "objective")]
        public String mObjective { get; set; }
        [JsonProperty(PropertyName = "optimization_goal")]
        public String mOptimizationGoal { get; set; }
        [JsonProperty(PropertyName = "outbound_clicks")]
        public List<AdsActionStats> mOutboundClicks { get; set; }
        [JsonProperty(PropertyName = "outbound_clicks_ctr")]
        public List<AdsActionStats> mOutboundClicksCtr { get; set; }
        [JsonProperty(PropertyName = "place_page_name")]
        public String mPlacePageName { get; set; }
        [JsonProperty(PropertyName = "purchase_roas")]
        public List<AdsActionStats> mPurchaseRoas { get; set; }
        [JsonProperty(PropertyName = "qualifying_question_qualify_answer_rate")]
        public String mQualifyingQuestionQualifyAnswerRate { get; set; }
        [JsonProperty(PropertyName = "quality_ranking")]
        public String mQualityRanking { get; set; }
        [JsonProperty(PropertyName = "quality_score_ectr")]
        public String mQualityScoreEctr { get; set; }
        [JsonProperty(PropertyName = "quality_score_ecvr")]
        public String mQualityScoreEcvr { get; set; }
        [JsonProperty(PropertyName = "quality_score_organic")]
        public String mQualityScoreOrganic { get; set; }
        [JsonProperty(PropertyName = "reach")]
        public String mReach { get; set; }
        [JsonProperty(PropertyName = "social_spend")]
        public String mSocialSpend { get; set; }
        [JsonProperty(PropertyName = "spend")]
        public String mSpend { get; set; }
        [JsonProperty(PropertyName = "unique_actions")]
        public List<AdsActionStats> mUniqueActions { get; set; }
        [JsonProperty(PropertyName = "unique_clicks")]
        public String mUniqueClicks { get; set; }
        [JsonProperty(PropertyName = "unique_conversions")]
        public List<AdsActionStats> mUniqueConversions { get; set; }
        [JsonProperty(PropertyName = "unique_ctr")]
        public String mUniqueCtr { get; set; }
        [JsonProperty(PropertyName = "unique_inline_link_click_ctr")]
        public String mUniqueInlineLinkClickCtr { get; set; }
        [JsonProperty(PropertyName = "unique_inline_link_clicks")]
        public String mUniqueInlineLinkClicks { get; set; }
        [JsonProperty(PropertyName = "unique_link_clicks_ctr")]
        public String mUniqueLinkClicksCtr { get; set; }
        [JsonProperty(PropertyName = "unique_outbound_clicks")]
        public List<AdsActionStats> mUniqueOutboundClicks { get; set; }
        [JsonProperty(PropertyName = "unique_outbound_clicks_ctr")]
        public List<AdsActionStats> mUniqueOutboundClicksCtr { get; set; }
        [JsonProperty(PropertyName = "unique_video_continuous_2_sec_watched_actions")]
        public List<AdsActionStats> mUniqueVideoContinuous2SecWatchedActions { get; set; }
        [JsonProperty(PropertyName = "unique_video_view_15_sec")]
        public List<AdsActionStats> mUniqueVideoView15Sec { get; set; }
        [JsonProperty(PropertyName = "updated_time")]
        public String mUpdatedTime { get; set; }
        [JsonProperty(PropertyName = "video_15_sec_watched_actions")]
        public List<AdsActionStats> mVideo15SecWatchedActions { get; set; }
        [JsonProperty(PropertyName = "video_30_sec_watched_actions")]
        public List<AdsActionStats> mVideo30SecWatchedActions { get; set; }
        [JsonProperty(PropertyName = "video_avg_time_watched_actions")]
        public List<AdsActionStats> mVideoAvgTimeWatchedActions { get; set; }
        [JsonProperty(PropertyName = "video_continuous_2_sec_watched_actions")]
        public List<AdsActionStats> mVideoContinuous2SecWatchedActions { get; set; }
        [JsonProperty(PropertyName = "video_p100_watched_actions")]
        public List<AdsActionStats> mVideoP100WatchedActions { get; set; }
        [JsonProperty(PropertyName = "video_p25_watched_actions")]
        public List<AdsActionStats> mVideoP25WatchedActions { get; set; }
        [JsonProperty(PropertyName = "video_p50_watched_actions")]
        public List<AdsActionStats> mVideoP50WatchedActions { get; set; }
        [JsonProperty(PropertyName = "video_p75_watched_actions")]
        public List<AdsActionStats> mVideoP75WatchedActions { get; set; }
        [JsonProperty(PropertyName = "video_p95_watched_actions")]
        public List<AdsActionStats> mVideoP95WatchedActions { get; set; }
        [JsonProperty(PropertyName = "video_play_actions")]
        public List<AdsActionStats> mVideoPlayActions { get; set; }
        [JsonProperty(PropertyName = "video_play_curve_actions")]
        public List<Object> mVideoPlayCurveActions { get; set; }
        [JsonProperty(PropertyName = "video_play_retention_0_to_15s_actions")]
        public List<Object> mVideoPlayRetention0To15sActions { get; set; }
        [JsonProperty(PropertyName = "video_play_retention_20_to_60s_actions")]
        public List<Object> mVideoPlayRetention20To60sActions { get; set; }
        [JsonProperty(PropertyName = "video_play_retention_graph_actions")]
        public List<Object> mVideoPlayRetentionGraphActions { get; set; }
        [JsonProperty(PropertyName = "video_thruplay_watched_actions")]
        public List<AdsActionStats> mVideoThruplayWatchedActions { get; set; }
        [JsonProperty(PropertyName = "video_time_watched_actions")]
        public List<AdsActionStats> mVideoTimeWatchedActions { get; set; }
        [JsonProperty(PropertyName = "website_ctr")]
        public List<AdsActionStats> mWebsiteCtr { get; set; }
        [JsonProperty(PropertyName = "website_purchase_roas")]
        public List<AdsActionStats> mWebsitePurchaseRoas { get; set; }
        [JsonProperty(PropertyName = "wish_bid")]
        public String mWishBid { get; set; }

        [JsonProperty(PropertyName = "publisher_platform")]
        public String PlateForm { get; set; }
    }
}
